// let line = '777.5';
// let arr = line.split('.');
// console.log(arr);
// let str = arr.shift();
// console.log(str);
// console.log(convert(str));

// function convert(str) {
//   let len = str.length;
//   let count = 0;
//   let s = ''
//   for (let i = len - 1; i >= 0; i--) {
//     s = s + str[i];
//     if (++count === 3) {
//       s = s + ',';
//       count = 0;
//     }
//   }
//   let res = ''
//   for (let i = s.length - 1; i >= 0; i--) {
//     res = res + s[i]
//   }
//   if (res[0] === ',') {
//     arr.unshift(res.slice(1))
//   } else {
//     arr.unshift(res)
//   }
//   return arr.join('.')
// }

// 找出第一个只出现一次的字符位置
// let str = 'google';
// console.log(fn(str))
// function fn(str) {
//   for (let i = 0; i < str.length; i++) {
//     if (i === str.indexOf(str[i]) && i === str.lastIndexOf(str[i])) {
//       return i
//     }
//   }
//   return -1;
// }

// 找叶子节点个数
let str = '{ "value": 3, "left": { "value": 9, "left": { "value": 15, "left": null, "right": null }, "right": { "value": 7, "left": null, "right": null } }, "right": { "value": 9, "left": { "value": 15, "left": null, "right": null }, "right": { "value": 7, "left": null, "right": null } } }'
tree = JSON.parse(str)
console.log(fn(tree));
// 广度
// function fn(tree) {
//   let count = 0
//   const queue = [tree];
//   while (queue.length) {
//     let node = queue.shift();
//     if (!node.left && !node.right) {
//       count++;
//     }
//     node.left && queue.push(node.left);
//     node.right && queue.push(node.right);
//   }
//   return count;
// }

// 深度
function fn(tree) {
  let count = 0;
  dfs(tree);
  function dfs(tree) {
    if (!tree) {
      return null;
    }
    let left = dfs(tree.left);
    let right = dfs(tree.right);
    if (left === null && right === null) {
      count++;
    }
  }
  return count;
}